WINDOWS上bat后台启动JAR包并生成启动日志 | 您所在的位置:网站首页 › bat启动jar包 日志按天输出 › WINDOWS上bat后台启动JAR包并生成启动日志 |
原文链接:https://blog.csdn.net/weixin_47148475/article/details/126747188 前言: 由于要部署定时任务上传日志,而服务器是windos servrer。所以需要在windos一直后台启动,简单的java -jar 显然不可以的,因为关闭窗口就关闭程序。 解决方法: 1.创建start.bat文件启动jar包 如start.bat,可以建立txt文本,建立时候重命名。 在start.bat里输入 @echo off%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exitjava -jar springboot.jar >StartupLog.log 2>&1 &exit第二行 是关闭黑窗口第三行是 启动jar 和 输出控制台日志 并且在后台运行 2.记得把项目和bat放在同一目录下,双击bat 自动生成StartupLog.log日志,查看日志看报成功还是失败即可,若失败,根据失败信息针对处理即可。 如端口被占用:1.关闭windows上启动的服务2.根据端口号查看pid3.强制杀死进程命令:netstat -aon|findstr "8080" 命令:taskkill /f /pid 9523 3. 创建stop.bat关闭特定端口的java程序如果java程序是8080端口,在stop.bat输入 @echo offset port=8080for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do taskkill /f /pid %%m 4. 创建restart.bat先根据端口关闭java程序,再启动jar包@echo off%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exitset port=8080for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do taskkill /f /pid %%m &java -jar asus-1.0.0.jar > start2.log 2>&1 &exit 5. 批量重启jar修改restart.bat文件 @echo off%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exitset port1=8080for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port1%"') do taskkill /f /pid %%m &set port2=8081for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port2%"') do taskkill /f /pid %%m &set port3=8082for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port3%"') do taskkill /f /pid %%m &java -jar springboot1.jar >StartupLog1.log 2>&1 &java -jar springboot2.jar >StartupLog2.log 2>&1 &java -jar springboot3.jar >StartupLog3.log 2>&1 &exit双击启动 效果如下: |
CopyRight 2018-2019 实验室设备网 版权所有 |